package com.carleasoft.mps.adu.common.constants;

import com.carleasoft.mps.core.result.BaseResult;

/**
 * 服务内业务级别错误码
 * 注意：避免错误编码重复，错误编码规则为该服务端口+0001依次递增，如：66010001
 */
public enum BusinessErrorEnum implements BaseResult {

    USER_PASSWORD_ERROR("66030001", "用户名或密码错误，请重新输入！"),
    PASSWORD_ERROR("660300002","密码错误!"),
    USER_PASSWORD_SIGN("66030001-1", "token签名失败！"),
    ORG_DELETE_ERROR("66030002", "该组织下有多个部门，不能进行删除操作！"),
    DEPT_DELETE_ERROR("66030003", "该部门下有多个部门，不能进行删除操作！"),
    DEPT_DELETE_ERROR_TOP("66030003-1", "该部门为默认顶级部门，不能进行删除操作！"),
    DUPLICATE_USER_ACCOUNT("66030004","用户账号重复!"),
    ADMIN_CANNOT_BE_EDITED_OR_DELETED("66030005","该账号为管理员账号，不可编辑或者删除！"),
    DUPLICATE_USER_TYPE("66030006","用户类型名称或编码重复!"),
    DUPLICATE_USER_TYPE_NON("66030006-2","该用户类型下存在用户数据，不能删除!"),
    DUPLICATE_DEPT_TYPE("66030006-1","部门类型名称重复!"),
    DUPLICATE_DEPT_TYPE_NON("66030006-3","部门类型下存在部门，不能删除!"),
    USERTYPE_CANNOT_BE_EDITED_OR_DELETED("66030007","该用户类型下存在用户，不能删除!"),
    DUPLICATE_ROLE_NAME("66030008","角色名称重复！"),
    ROLE_CANNOT_BE__DELETED("66030009","该角色已被绑定，不能删除！"),
    ROLE_CANNOT_BE_ALL_DELETED("66030009-1","该角色为系统默认角色，不能删除！"),
    DUPLICATE_POSITION_GROUP("66030010","职位分组名称重复！"),
    DUPLICATE_NUMBER_GROUP("66030010-1","职位分组编号重复！"),
    POSITION_GROUP_CANNOT_BE_DELETED("66030011","岗位分组下存在岗位，不可删除！"),
    POSITION_GROUP_CANNOT_SUB_DELETED("66030011-1","岗位分组存在下级分组，不可删除！"),
    POSITION_GROUP_CANNOT_TOP_DELETED("66030011-2","岗位分组为默认顶级分组，不可删除！"),
    DUPLICATE_POSITION_NUMBER("66030012","当前分组下职位重复"),
    POSITION_CANNOT_BE_DELETED("66030013","职位已与用户绑定，不可删除！"),
    RECORD_DOES_NOT_EXIST("66030014", "记录不存在！"),
    DEPT_NOT_EXIST("66030015", "该部门不存在！"),
    ORG_CANNOT_DELETE_ERROR("66030016", "该组织下存在用户，不能进行删除操作！"),
    ORG_NOT_EXIST("66030017", "该组织不存在！"),
    ORG_ALREADY_EXIST("66030018", "该组织名称已存在！"),
    ORG_NUMBER_EXIST("66030018", "该组织编号已存在！"),
    USER_DISABLE("66030019", "您的账号已被停用，如有疑问请联系管理员！"),
    DEPT_DISABLE("66030020", "该部门已被停用，暂无法登录，如有疑问请联系管理员！"),
    ORG_DISABLE("66030021", "该组织已被停用，暂无法登录，如有疑问请联系管理员！"),
    DEPT_CANNOT_DELETE_ERROR("66030022", "请先停用该部门！"),
    NOT_EDIT_ORG_AND_OTHER_ADMIN("66030023", "当前用户不可修改组织管理员和其他普通用户信息！"),
    NOT_EDIT_SUPER_ADMIN("66030024", "不可编辑超级管理员信息！"),
    DUPLICATE_APPROVAL_NAME("66030025","审批模块名称重复!"),
    UPDATE_DELETE_ROLE_EXCEPTION("66030026","该角色只有该角色的创建人可以修改或者删除!"),
    DEPT_CANNOT_DELETE("660300027", "该部门下存在用户，不能进行删除操作！"),
    DEPT_CANNOT_DELETE_TOP("660300027-1", "该部门为顶级部门，不能进行删除操作！"),
    ORG_TYPE_NAME_REPEAT("660300028","组织分类名称重复!"),
    ORG_TYPE_DELETE("660300029","当前分类下存在组织,不能删除!"),
    DEPT_NAME_REPEAT("660300030","部门名称重复!"),
    DEPT_NUMBER_REPEAT("660300030-1","部门编号重复!"),
    USER_NAME_NULL("660300031","用户名不能为空"),
    DEPT_POSITION("660300032","组织职务关系"),
    MOBILE_PHONE("660300033","移动电话不能为空"),
    STAFF_CODE_NULL("660300034","未选择工作人员"),
    ORG_USER_ERROR("660300035","该组织下存在多个用户，不能删除"),
    TYPE_ERROR("660300036","组织分类存在下级分类,不能删除!"),
    MOBILE_PHONE_EXIST("660300037","当前手机号已经被注册!"),
    DUPLICATE_USER_RNUMBER("66030038","用户编号重复!"),
    DEVICE("66030039","已经添加过该设备名称"),
    SOURCE_EXIST("66030040","数据已经存在"),
    SOURCE_NUMBER("66030041","编号已存在，请重新填写"),
    SOURCE_NAME("66030042","名字已存在，请重新填写"),
    SOURCE_COUNT("66030043","重复部门下的岗位，请重新填写"),
    BUTTON_OR_LIST_NO("6603009","该按钮或菜单不存在！"),
    BUTTON_OR_LIST_CHILD("6603009","该按钮或菜单有子级，无法删除！只允许修改。"),
    MENU_EXISTS("6603010","已存在同名菜单或按钮，请使用其他命名！"),
    COUNT_NO_JURISDICTION("6603011","当前账号没有功能权限,请联系管理员给账号分配权限！"),
    USER_NUMBER_EXITS("6603012","用户编号已存在！"),





    ;


    private String code;

    private String message;

    BusinessErrorEnum(String code, String message) {
        this.code = code;
        this.message = message;
    }

    @Override
    public String getCode(){
        return this.code;
    }

    @Override
    public String getMessage(){
        return this.message;
    }
}
